package com.dys.testmethodreference10;

import com.dys.testlambda02.entity.Person;

import java.util.function.BiFunction;
import java.util.function.Supplier;

/**
 * @className: com.dys.testmethodreference10.MethodReference03
 * @description: 类名::构造器,引用使用`::new`的格式使用，
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/09/01 下午4:15
 */
public class MethodReference06 {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        Supplier<Person> supplier = () -> new Person();
        Person person = supplier.get();
        System.out.println(person);

        // 通过方法引用来实现
        Supplier<Person> supplier1 = Person::new;
        Person person1 = supplier1.get();
        System.out.println(person1);
        // 赋值
        BiFunction<String, Integer, Person> func = Person::new;
        System.out.println(func.apply("李思思", 22));
    }
}
